वेब स्क्रैपिंग गोलैंग में कॉली के साथ

Rajinder Singh
Deep Learning Researcher
04-Dec-2025

वेब स्क्रैपिंग वेबसाइटों से डेटा निकालने के लिए एक विधि है। गो में, कॉली पुस्तकालय अपनी सरलता और शक्तिशाली विशेषताओं के कारण वेब स्क्रैपिंग के लिए एक लोकप्रिय उपकरण है। इस गाइड आपको गो में प्रोजेक्ट की सेटअप करने, एक बुनियादी स्क्रैपर बनाने, जटिल डेटा निकालने के मामलों के साथ निपटने और समानांतर मांगों के साथ अपने स्क्रैपर को अनुकूलित करने में मदद करेगा।
अपने गो प्रोजेक्ट की सेटअप करें
शुरू करने से पहले, अपने सिस्टम में गो स्थापित करने का निश्चित करें। निम्न आदेशों के साथ अपने प्रोजेक्ट को प्रारंभ करें और कॉली पैकेज लाएं:
bash
go mod init my_scraper
go get -u github.com/gocolly/colly
इससे आपके प्रोजेक्ट डायरेक्टरी सेट हो जाती है और कॉली पैकेज स्थापित हो जाता है।
कैपसॉल्वर बोनस कोड के साथ अपना बोनस प्राप्त करें
अपने स्वचालन बजट को तत्काल बढ़ाएं!
कैपसॉल्वर खाता भरने के दौरान बोनस कोड CAPN का उपयोग करके प्रत्येक भरोसे में 5% बोनस प्राप्त करें — कोई सीमा नहीं।
अपने कैपसॉल्वर डैशबोर्ड में अब इसे रीडीम करें
.
एक बुनियादी स्क्रैपर बनाएं
हम एक विशिष्ट विकिपीडिया पृष्ठ से सभी लिंक्स निकालने के लिए एक बुनियादी स्क्रैपर बनाएंगे।
- एक नया फ़ाइल
main.goबनाएं और निम्न कोड जोड़ें:
go
package main
import (
"fmt"
"github.com/gocolly/colly"
)
func main() {
c := colly.NewCollector(
colly.AllowedDomains("en.wikipedia.org"),
)
c.OnHTML(".mw-parser-output", func(e *colly.HTMLElement) {
links := e.ChildAttrs("a", "href")
fmt.Println(links)
})
c.Visit("https://en.wikipedia.org/wiki/Web_scraping")
}
इस कोड नए कॉली कलेक्टर को en.wikipedia.org तक सीमित करता है, फिर पृष्ठ के .mw-parser-output डिव में सभी लिंक्स को खोजने और प्रिंट करने के लिए कॉलबैक सेट करता है।
टेबल डेटा स्क्रैप करें
अधिक जटिल कार्यों जैसे टेबल डेटा स्क्रैप करने और इसे CSV फ़ाइल में लिखने के लिए, आप गो में encoding/csv पैकेज का उपयोग कर सकते हैं:
main.goको निम्न कोड के साथ विस्तारित करें ताकि टेबल डेटा स्क्रैप किया जा सके:
go
package main
import (
"encoding/csv"
"log"
"os"
"github.com/gocolly/colly"
)
func main() {
fName := "data.csv"
file, err := os.Create(fName)
if err != nil {
log.Fatalf("Could not create file, err: %q", err)
return
}
defer file.Close()
writer := csv.NewWriter(file)
defer writer.Flush()
c := colly.NewCollector()
c.OnHTML("table.wikitable", func(e *colly.HTMLElement) {
e.ForEach("tr", func(_ int, row *colly.HTMLElement) {
rowData := []string{}
row.ForEach("td", func(_ int, cell *colly.HTMLElement) {
rowData = append(rowData, cell.Text)
})
writer.Write(rowData)
})
})
c.Visit("https://en.wikipedia.org/wiki/List_of_programming_languages")
}
इस स्क्रिप्ट विकिपीडिया पृष्ठ से टेबल डेटा स्क्रैप करता है और इसे data.csv में लिखता है।
समानांतर मांगों को बनाएं
स्क्रैपिंग को तेज करने के लिए, आप गो के गोरूटीन का उपयोग करके समानांतर मांगों को बना सकते हैं। निम्न तरीका बताता है कि कैसे बहुत सारे पृष्ठों को समानांतर रूप से स्क्रैप करें:
go
package main
import (
"fmt"
"github.com/gocolly/colly"
"sync"
)
func scrape(url string, wg *sync.WaitGroup) {
defer wg.Done()
c := colly.NewCollector()
c.OnHTML("title", func(e *colly.HTMLElement) {
fmt.Println("Title found:", e.Text)
})
c.Visit(url)
}
func main() {
var wg sync.WaitGroup
urls := []string{
"https://en.wikipedia.org/wiki/Web_scraping",
"https://en.wikipedia.org/wiki/Data_mining",
"https://en.wikipedia.org/wiki/Screen_scraping",
}
for _, url := range urls {
wg.Add(1)
go scrape(url, &wg)
}
wg.Wait()
}
इस उदाहरण में, हम scrape फ़ंक्शन की परिभाषा करते हैं जो एक URL और एक वेट ग्रूप के रूप में आर्गुमेंट्स लेता है। फ़ंक्शन एक कॉली कलेक्टर प्रारंभ करता है, एक कॉलबैक सेट करता है जो पृष्ठ के शीर्षक को प्रिंट करता है, और URL पर जाता है। main फ़ंक्शन एक वेट ग्रूप बनाता है, एक सूची में URL के लिए पुनरावृत्ति करता है, और प्रत्येक URL के लिए एक गोरूटीन शुरू करता है ताकि समानांतर रूप से स्क्रैप किया जा सके।
इन चरणों का पालन करके, आप कॉली के साथ गो में बल्कि विश्वसनीय स्क्रैपर बना सकते हैं, विभिन्न स्क्रैपिंग परिदृश्यों के साथ निपट सकते हैं, और समानांतर मांगों के साथ प्रदर्शन को अनुकूलित कर सकते हैं। अधिक विस्तृत शिक्षण और उन्नत उपयोग के लिए, गो और कॉली के साथ वेब स्क्रैपिंग पर संसाधनों की जांच करें।
गो के लिए अन्य वेब स्क्रैपिंग पुस्तकालय
कॉली के अलावा, गो में वेब स्क्रैपिंग के लिए कई अन्य उत्कृष्ट पुस्तकालय हैं:
- GoQuery: इस पुस्तकालय में ज्यूक्वेरी के समान विशेषताओं और सिंटैक्स होता है, जो आपको ज्यूक्वेरी में जैसे वेब स्क्रैपिंग ऑपरेशन करने में सक्षम बनाता है।
- फेरेट: एक अनुकूलनीय, विस्तारित और तेज वेब स्क्रैपिंग प्रणाली जो वेब से डेटा निकालने को सरल बनाती है। फेरेट एक विशिष्ट विवरणात्मक भाषा के उपयोग पर केंद्रित है।
- Selenium: इसके हेडलेस ब्राउजर क्षमताओं के कारण, सीलेनियम डायनामिक सामग्री के लिए आदर्श है। यह गो के लिए आधिकारिक समर्थन नहीं है, लेकिन एक पोर्ट उपलब्ध है जो इसके उपयोग को गो में संभव बनाता है।
निष्कर्ष
वेब स्क्रैपिंग वेबसाइटों से डेटा के प्रभावी निकालने के लिए एक शक्तिशाली और आवश्यक कौशल है। गो और कॉली पुस्तकालय के साथ, आप विभिन्न डेटा निकालने के परिदृश्यों, जैसे सरल लिंक्स के संग्रह से लेकर जटिल टेबल डेटा के निकालने तक, के साथ-साथ समानांतर मांगों के साथ प्रदर्शन को अनुकूलित करने वाले विश्वसनीय स्क्रैपर बना सकते हैं।
इस गाइड में आपने जाना कि:
- कॉली पुस्तकालय के साथ गो में प्रोजेक्ट की सेटअप कैसे करें।
- वेबपेज से लिंक्स निकालने के लिए एक बुनियादी स्क्रैपर बनाएं।
- टेबल डेटा निकालने जैसे अधिक जटिल डेटा निकालने के साथ निपटें और इसे CSV फ़ाइल में लिखें।
- समानांतर मांगों के साथ अपने स्क्रैपर को अनुकूलित करें।
इन चरणों का पालन करके, आप कॉली के साथ गो में प्रभावी और कुशल वेब स्क्रैपर बना सकते हैं। अधिक उन्नत उपयोग और विस्तृत शिक्षण के लिए, गो और कॉली के साथ वेब स्क्रैपिंग पर अतिरिक्त संसाधनों की जांच करें।
एफक्यूए (अक्सर पूछे जाने वाले प्रश्न)
1. क्या कॉली गो में वेब स्क्रैपिंग सीख रहे शुरुआती लोगों के लिए उपयुक्त है?
हां। कॉली को आसान और शुरुआती द्वारा उपयोग करने योग्य बनाया गया है, जबकि अभी भी डोम पार्सिंग, मांग प्रबंधन, कॉलबैक और समानांतरता जैसी शक्तिशाली विशेषताएं प्रदान करता है। भले ही नए गो विकासकर्ता हों, वे केवल कुछ लाइनों के कोड के साथ एक कार्यकर एस्क्रैपर बना सकते हैं।
2. क्या कॉली संरचित सामग्री जैसे टेबल या सूचियां निकाल सकता है?
पूर्ण रूप से। कॉली विशिष्ट एचटीएमएल नोड्स और विशेषताओं के चयन की अनुमति देता है, जो टेबल, सूचियां, लिंक और अन्य संरचित तत्वों के निकालने को आसान बनाता है। आप गो के मानक पुस्तकालयों के साथ सीएसवी या जेसॉन में परिणामों को सीधे संग्रहीत कर सकते हैं।
3. मेरे कॉली वेब स्क्रैपर को कैसे तेज करें?
आप गो के गोरूटीन का उपयोग करके कई पृष्ठों को समानांतर रूप से प्रक्रिया कर सकते हैं। एक वेट ग्रूप के साथ समानांतर स्क्रैपर को शुरू करके और समाप्त करके, स्क्रैपिंग प्रदर्शन में महत्वपूर्ण वृद्धि होती है — विशेष रूप से बड़े डेटासेट या बहु-यूआरएल छापने के कार्यों के लिए।
अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

वेब स्क्रैपिंग पायथन के साथ: 2026 सबसे अच्छी रणनीतियां
2026 के लिए शीर्ष पायथन वेब स्क्रैपिंग तकनीक सीखें, डायनामिक जावास्क्रिप्ट सामग्री का प्रबंधन करना, प्रमाणीकरण प्रवाह का प्रबंधन करना, कैप्चा हल करना, छिपे हुए जाल की पहचान करना, मानव व्यवहार का अनुकरण करना, अनुरोध पैटर्न अनुकूलित करना, और बड़े पैमाने पर स्क्रैपिंग परियोजनाओं में संसाधन उपयोग कम करना।

Rajinder Singh
12-Dec-2025

वेब स्क्रैपिंग ब्लॉक न होने के बारे में और वेब स्क्रैपिंग कैप्चा को कैसे हल करें
वेब स्क्रैपिंग वेबसाइटों से डेटा निकालने के लिए एक लोकप्रिय तकनीक बन गई है। हालांकि, कई वेबसाइटें विरोधी-स्क्रैपिंग उपाय अपनाती हैं, जैसे कि

Rajinder Singh
11-Dec-2025

वेब क्रॉलिंग विरुद्ध वेब स्क्रैपिंग: महत्वपूर्ण अंतर
वेब क्रॉलिंग और वेब स्क्रैपिंग के मूल अंतर को खोजें। अपने अलग-अलग उद्देश्यों और 10 शक्तिशाली उपयोग मामलों को सीखें, और कैपसॉल्वर AWS WAF और CAPTCHA ब्लॉक को पार करने में कैसे मदद करता है अविच्छिन्न डेटा अधिग्रहण के लिए।

Rajinder Singh
09-Dec-2025

कैप्चा कैसे हल करें जब वेब स्क्रैपिंग करते हैं Scrapling और CapSolver के साथ
स्क्रैपलिंग + कैपसॉल्वर रीकैपचा v2/v3 और क्लाउडफ़्लेयर टर्नस्टाइल बायपास के साथ स्वचालित स्क्रैपिंग सक्षम करता है।

Rajinder Singh
05-Dec-2025

9Proxy की शक्ति की खोज करें: व्यापक समीक्षा
इस लेख में, हम आपको 9proxy क्या है और जो वे प्रदान करते हैं सेवाएं दिखाएंगे।

Rajinder Singh
04-Dec-2025

वेब स्क्रैपिंग सेलीनियम और पायथन के साथ | वेब स्क्रैपिंग के दौरान कैप्चा हल करना
इस लेख में आप सेलेनियम और पायथन के साथ वेब स्क्रैपिंग के साथ परिचित हो जाएंगे और प्रक्रिया में शामिल कैप्चा को हल करना सीखेंगे ताकि डेटा निकालना अधिक कुशल हो सके।

Nikolai Smirnov
04-Dec-2025


.